<?php
if ( count( get_included_files() ) == 1 ) die( '---' );

$tbl_list = array('C2IPRATdroits','C2IPRATdroitsCompetence','C2IPRATgrille','C2IPRATenregistrement','C2IPRATmasque','C2iReferentiel','C2iResultats');
global $C2IPRATtables;
$C2IPRATtables = claro_sql_get_tbl($tbl_list);

// Grille par d�faut en fonction du C2i
if ($C2i == 'N1')
$grilleDefaut = "1";
elseif ($C2i == 'N2MD')
$grilleDefaut = "4";

include_once('classes/droits.class.php');
include_once('classes/droitsCompetence.class.php');
include_once('classes/enregistrement.class.php');
include_once('classes/grille.class.php');

if (!class_exists('Masque'))
include_once('classes/masque.class.php');

function chercheReferentiel($C2i,$epreuve)
{
	global $C2IPRATtables;

	$sql = "SELECT * FROM `".$C2IPRATtables['C2iReferentiel']."` 
		WHERE c2i = '".$C2i."'
		AND (epreuve_speciale = '".$epreuve."'
		OR epreuve_speciale IS NULL)
		ORDER BY competence, alinea";

	return claro_sql_query_fetch_all_rows($sql);
}

function chercheInfoCompetence($competenceId)
{
	global $C2IPRATtables;

	$sql = "SELECT * FROM `".$C2IPRATtables['C2iReferentiel']."` 
		WHERE id = ".$competenceId;

	return claro_sql_query_fetch_all_rows($sql);
}

function chercheNombreSousRef($sousRef,$ids=false)
{
	global $C2IPRATtables;

	$sql = "SELECT id FROM `".$C2IPRATtables['C2iReferentiel']."` 
		WHERE sous_ref = ".$sousRef;

	if ($ids)
	return claro_sql_query_fetch_all_rows($sql);
	else
	return claro_sql_query_affected_rows($sql);
}

function afficherGrilleCompetences($user,$groupeId)
{	
	// On cherche la grille de ce user
	$grilleTemp = chercheInfosGroupe($groupeId);

	if ($grilleTemp['grilleId'])
	$grilleId = $grilleTemp['grilleId'];


	// Grille par d�faut
	global $grilleDefaut;

	if (!$grilleId)
	$grilleId = $grilleDefaut;

	$grille = new PRATGrille();
	$grille->load($grilleId);

	$liste_competences = chercheReferentiel($grille->getC2i(),'pratique');

	// Variables pour le traitement AJAX
	echo '<input type="hidden" id="grilleId" value="'.$grilleId.'">
	      <input type="hidden" id="userId" value="'.$user.'">
	      <input type="hidden" id="C2i" value="'.$grille->getC2i().'">
	      <input type="hidden" id="evaluateur" value="'.claro_get_current_user_id().'">';

	echo "<table class='claroTable'>
		<tr class='headerX'>
		   <th>Comp&eacute;tence - alin&eacute;a</th>
		   <th>Intitul&eacute;</th>
		   <th>Validation";

	//if ($user != claro_get_current_user_id())
	//echo '<br><a href="javascript:;" onclick="toutValider(\''.$user.'\',\''.claro_get_current_user_id().'\',\''.$grilleId.'\')">Tout valider</a>';

	echo "</th>";
/*
	if ($user != claro_get_current_user_id())
	echo "	   <th>Historique</th>";
*/

	echo "	</tr>";



	// Gestion de l'affichage des documents du portfolio
	gestionAffichageDocuments();


	foreach ($liste_competences as $competence)
	{

		if ($competence['sous_ref'] == 0)
		{
			$alinea = '';
			$class = ' class="competence" ';
			//$colspan = 'colspan="2"';
		}
		else
		{
			$alinea = ' - '.$competence['alinea'];
			$class = '';

			if ($_SESSION['PORTFOLIO'][$competence['id']] == true)
			{
				$image = "minus.gif";
				$lien = $_SERVER['PHP_SELF']."?partie=".$_REQUEST['partie']."&competenceMoins=".$competence['id'];
				$alt = "Plier";
			}
			else
			{
				$image = "plus.gif";
				$lien = $_SERVER['PHP_SELF']."?partie=".$_REQUEST['partie']."&competencePlus=".$competence['id'];
				$alt = "Deplier";
			}
		}

		// Le user a-t-il le droit d'�valuer cette comp�tence ?
		if (droitEvaluationCompetence($groupeId,$competence['id']))
		$evaluation = true;
		else
		$evaluation = false;


		// Champ de saisie (ou pas) de la note / de la comp�tence par r�f�rentiel

			$display=true;
			//unset($colspan);

			// Champ de saisie (ou pas) de la note / de la comp�tence par r�f�rentiel
/*
			if ($competence['sous_ref'] == 0 && $grille->getEvaluationSousRef() == 1 && $user == claro_get_current_user_id())
			{
				$display=false;
				//$colspan = 'colspan=2';
			}
			if ($competence['sous_ref'] != 0 && $grille->getEvaluationSousRef() == 0 && $user == claro_get_current_user_id())
			{
				$display=false;
				//$colspan = 'colspan=2';
			}
*/

			$enreg = new Enregistrement();
			$enreg->setUserId($user);
			$enreg->setCompetenceId($competence['id']);

			// Gestion du masque
			$masque = new Masque();
			$masque->setCompetenceId($competence['id']);
			$masque->setReferentiel($grille->getC2i());
			$masque->setCourseCode(claro_get_current_course_id());
			$masque->load();

			if ($masque->getTitre())
			$titre = $masque->getTitre();
			else
			$titre = $competence['titre'];

			if ($masque->getValidationAuto() == 1)
			$evaluation = false;


		// Pas d'�val possible dans le portfolio
		$evaluation = false;



		global $gestionDoc;

		// Afficher ou non les docs dans la comp�tence
		$documentCompetence = new PFLdocumentCompetence();
		$documentCompetence->setCompetenceId($competence['id']);
		$documentCompetence->setUserId($user);
		$listeDocs = $documentCompetence->load();

		if ($competence['sous_ref'] != 0 && $gestionDoc == true && ($user == claro_get_current_user_id() || $listeDocs))
		{
			echo "<tr ".$class."><td><a href='".$lien."'><img src='" . get_path('imgRepositoryWeb') . $image."' border='0' class='plierDeplier' alt=\"".$alt."\"/></a> ".$competence['competence'].$alinea."</td><td>".$titre."</td>";
		}

		else
		{
			//if ($gestionDoc)
			//$colspan=' colspan="2"';

			if (domaineOK($competence['id'],$user,$grille->getC2i()))
			$image = '<img src="img/selectedDisabled.png" style="vertical-align:middle">';
			else
			$image = false;

			echo "<tr ".$class."><td>".$image."     ".$competence['competence'].$alinea."</td><td".$colspan.">".$titre."</td>";
		}
			if ($display)
			{
				if ($competence['sous_ref'] == 0)
				{
					//Calcul du taux de validation des competences
					if (domaineOK($competence['id'],$user,$grille->getC2i()))
					$image = "selectedDisabled.png";
					else
					$image = "upDisabled.png";		

					echo '<td colspan="2" class="competence_'.$competence['id'].'"><img src="img/'.$image.'"></td>';
				}
				else
				{
					echo "<td class=\"competence_".$competence['sous_ref']."\">";


					// Cherche le type d'�valuation
					if ($grille->getTypeReponse() == 'booleen')
					{
						$enreg->load($enreg->chercheEnregistrement(true));

						unset($js);

						if ($enreg->getNote() == 0)
						{
							$image = "up.gif";
							$class = 'class="saisieOk"';

							if ($user == claro_get_current_user_id() || $evaluation == false)
							{
								$image = "upDisabled.png";
								$class = "";
							}
						}
						else
						{
							$image = "selected.gif";
							$class = 'class="saisieOk"';

							if ($user == claro_get_current_user_id() || $evaluation == false)
							{
								$image = "selectedDisabled.png";
								$class = "";
							}
						}

						echo '<img src="img/'.$image.'" '.$class.' id="alinea_'.$competence['id'].'">';
					}
					elseif ($grille->getTypeReponse() == 'note')
					{
						echo "<td>note</td>";
					}
				}
			}
			echo "</td>";
/*
			if ($user != claro_get_current_user_id())
			{
				echo "<td>";

				// Gestion de l'historique
				$histo = $enreg->chercheEnregistrement();

				if ($histo && $evaluation == true)
				{
					echo "<ul><small>";

					$enreg = new Enregistrement();
						$enreg->load($histo[0]['enregistrementId']);

						if ($grille->getTypeReponse() == 'booleen')
						{
							if ($enreg->getNote() != 0)
							echo "<li>Validation";
							else
							echo "<li>Non validation";
						}


						$evaluateurInfos = user_get_properties($enreg->getEvaluateur());

						if ($evaluateurInfos)
						echo " par ".$evaluateurInfos['firstname']." ".$evaluateurInfos['lastname'];	

						echo date(" \l\e d/m/Y � H \h i",$enreg->getDate())."</li>";

					echo "</small></ul>";
				}
			echo "</td>";
			}
*/

			echo "</tr>";


			// Gestion des documents portfolio
			afficherDocumentsPortfolio($user,$competence['id']);
	}

	echo '</table>';
}


function afficherGrilleCompetencesDroits($grilleId,$groupeId)
{
	global $imgRepositoryWeb;

	$grille = new PRATGrille();
	$grille->load($grilleId);

	$liste_competences = chercheReferentiel($grille->getC2i(),'pratique');

	$output = "<table id='competencesDroits'>
			<tr class='headerX'>
			   <th>Comp�tence - alin�a</th>
			   <th>Intitul�</th>
			   <th style=\"width: 40%\">Droits �dition</th>
			</tr>";

	foreach ($liste_competences as $competence)
	{

		if ($competence['sous_ref'] == 0)
		{
			$alinea = '';
			$class = ' class="competence" ';
		}
		else
		{
			$alinea = ' - '.$competence['alinea'];
			$class = '';
		}
		$output .= "<tr ".$class."><td>".$competence['competence'].$alinea."</td><td>".$competence['titre']."</td><td id=\"competence_".$competence['id']."\">"
			."<a href=\"javascript:;\" "
			."onClick=\"afficherListeEvaluateurs('".$competence['id']."','".$groupeId."')\">"
			."<img src=\"".$imgRepositoryWeb."plus.gif\" border=\"0\" alt=\"".get_lang('Add')."\">"
			."</a>";

		$evaluateurs = afficherEvaluateursCompetence($groupeId,$competence['id']);

		if ($evaluateurs)
		{
			foreach ($evaluateurs as $evaluateur)
			{
				$infosEval = user_get_properties($evaluateur['evaluateurId']);
				$output .= "<span id='eval_".$evaluateur['evaluateurId']."_".$competence['id']."'>".$infosEval['firstname']." ".$infosEval['lastname'];

				$output .= " <a href=\"javascript:;\" "
					."onClick=\"rmUser('".$evaluateur['evaluateurId']."','".$competence['id']."','".$groupeId."')\">"
					."<img src=\"./img/delete.gif\" border=\"0\" alt=\"".get_lang('Delete')."\">"
					."</a>";

				$output .= " - </span>";
			}
		}
		$output .= "</td></tr>";
	}

	$output .= "</table>";

	return $output;
}



function chercherGroupesUser($user)
{
	$tbl_cdb_names		= claro_sql_get_course_tbl();
	$tbl_GroupsUsers       	= $tbl_cdb_names['group_rel_team_user'];

	$sql = "SELECT team FROM `".$tbl_GroupsUsers."` WHERE user = ".$user;
	return claro_sql_query_fetch_all_rows($sql);
}

function droitEvaluationCompetence($groupeId,$competenceId)
{
	// Droits sp�ciaux
	global $utilisateurs;
	if (in_array(claro_get_current_user_id(),$utilisateurs))
	return true;


	$droit = new Droits();

	if ($droit->load($competenceId,$groupeId,claro_get_current_user_id()))
	return true;
	else
	return false;

}

function afficherListeUsersEvaluation()
{
	// On peut �valuer les utilisateurs membres des groupes dont le status du user est 1
	$groupes = chercherGroupes(claro_get_current_user_id(),1);

	if ($groupes)
	{

		echo '<h4>Evaluer l\'�tudiant suivant :</h4>
			<form action="evaluation.php" method="post">
			<select name="userId">';

		foreach ($groupes as $groupe)
		{
			$infosGroupe = chercheInfosGroupe($groupe['team']);

			echo '<optgroup label="'.$infosGroupe[0]['name'].'">';

			$listeEtudiantsGroupe = chercheEtudiantsGroupe($groupe['team'],1);
			if ($listeEtudiantsGroupe)
			{
				// STATS DES NOTES PRATIQUES
				include_once ("../../stats/lib/conf.php");
				include_once ("../../stats/lib/stats.lib.php");

				$categorie = $_SESSION['_course']['categoryCode'];
				if ($categorie == "EXPRAT")
				$categorie = 'N1';

				$coeffTotal = $coeffNotePratique[$categorie];

				$listeCompetencesTmp = chercheReferentielC2i($categorie,'pratique');
				foreach ($listeCompetencesTmp as $competence)
				{
					if ($competence['sous_ref'] != 0)
					continue;
		
					$listeCompetencesPratique[$competence['competence']] = $competence['note'];
				}

				foreach ($listeEtudiantsGroupe as $etudiant)
				{
					// Note
					// Chercher notes pratiques �tudiant
					$notesEtudiant = chercherNotesEtudiant($etudiant['user'],'pratique',$categorie);

					$resultatPratique = 0;

					if ($notesEtudiant)
					{
						foreach ($notesEtudiant as $notes)
						{
							$resultat = round(($notes['resultat']/$listeCompetencesPratique[$notes['competence']])*$coeffPratique[$categorie][$notes['competence']],2);
							$resultatPratique += $resultat;
						}
					}					

					echo '<option value="'.$etudiant['user'].'-'.$groupe['team'].'">'.$etudiant['lastname'].' '.$etudiant['firstname'].' ('.$resultatPratique.' / '.$coeffTotal.')</option>';
				}
			}

			echo '</optgroup>';
		}

		echo '</select><input type="submit" value="Evaluer"></form>
			<span id="showFilter"><br><a href="javascript:;">Filtrer cette liste</a></span>
		';
	}
}

function chercherGroupes($user_id,$status)
{
    $tbl_cdb_names   = claro_sql_get_course_tbl(claro_get_course_db_name_glued(claro_get_current_course_id()));
    $sql = "SELECT `team`
            FROM `" . $tbl_cdb_names['group_rel_team_user'] . "`
            WHERE user = " . (int) $user_id."
	    AND status = ".$status;

    return claro_sql_query_fetch_all_rows($sql);
}


function chercherGroupesGrille($grilleId)
{
    $tbl_cdb_names   = claro_sql_get_course_tbl(claro_get_course_db_name_glued(claro_get_current_course_id()));
    $sql = "SELECT * FROM `" . $tbl_cdb_names['group_team'] . "` WHERE grilleId = ".$grilleId;

    return claro_sql_query_fetch_all_rows($sql);
}

function chercherGroupesAuteur($auteur)
{
    $tbl_cdb_names   = claro_sql_get_course_tbl(claro_get_course_db_name_glued(claro_get_current_course_id()));
    $sql = "SELECT * FROM `" . $tbl_cdb_names['group_team'] . "` WHERE auteur = ".$auteur;

    return claro_sql_query_fetch_all_rows($sql);
}

function ajouterGrilleGroupe($grilleId,$groupeId)
{
    $tbl_cdb_names   = claro_sql_get_course_tbl(claro_get_course_db_name_glued(claro_get_current_course_id()));
    $sql = "UPDATE `" . $tbl_cdb_names['group_team'] . "` SET grilleId = ".$grilleId." WHERE id = ".$groupeId;
    return claro_sql_query($sql);
}

function effacerGrilleGroupe($grilleId)
{
    $tbl_cdb_names   = claro_sql_get_course_tbl(claro_get_course_db_name_glued(claro_get_current_course_id()));
    $sql = "UPDATE `" . $tbl_cdb_names['group_team'] . "` SET grilleId = 0 WHERE grilleId = ".$grilleId;
    return claro_sql_query($sql);
}

function chercheInfosGroupe($groupId)
{
	$tbl_cdb_names   = claro_sql_get_course_tbl(claro_get_course_db_name_glued(claro_get_current_course_id()));
	$sql = "SELECT * FROM `" . $tbl_cdb_names['group_team'] . "` WHERE id = ".$groupId;
	return claro_sql_query_fetch_all_rows($sql);
}

function chercheEtudiantsGroupe($groupId,$exclureStatus)
{
	$tbl_cdb_names   = claro_sql_get_course_tbl(claro_get_course_db_name_glued(claro_get_current_course_id()));
	$tbl_mdb_names = claro_sql_get_main_tbl();

	$sql = "SELECT `user`,`nom` AS lastname,`prenom` AS firstname
	        FROM `" . $tbl_cdb_names['group_rel_team_user'] . "`
		LEFT JOIN `".$tbl_mdb_names['user']."`
		ON `".$tbl_mdb_names['user']."`.user_id = `" . $tbl_cdb_names['group_rel_team_user'] . "`.user
	        WHERE team = " . (int) $groupId."
	    	AND status != ".$exclureStatus."
	    	ORDER BY lastname,firstname";

    	return claro_sql_query_fetch_all_rows($sql);
}

function PRATenregistrerSaisie()
{
	$enreg = new Enregistrement();
	$enreg->setUserId($_POST['userId']);
	$enreg->setCompetenceId($_POST['competence']);
	$enreg->setNote($_POST['note']);
	$enreg->setEvaluateur($_POST['evaluateur']);

	if ($enreg->save())
	{
		validationAuto($_POST['userId'],claro_get_current_course_id());

		calculNotePratique($_POST['userId'],$_POST['C2i']);
		return 'ok';
	}
}

function validationAuto($userId,$courseCode)
{
	$masque = new Masque();
	$masque->setCourseCode($courseCode);
	$listeCompetencesAuto = $masque->chercherListeCompetencesAuto();
	if ($listeCompetencesAuto)
	{
		foreach ($listeCompetencesAuto as $competence)
		{
			$enreg = new Enregistrement();
			$enreg->setUserId($userId);
			$enreg->setCompetenceId($competence['competenceId']);
			$enreg->setNote('100');
			$enreg->setEvaluateur('0');
			$enreg->save();
		}
	}
}

function toutValider()
{
	//On cherche les �l�ments de la grille
	$grille = new PRATGrille();
	$grille->load($_POST['grille_Id']);

	$liste_competences = chercheReferentiel($grille->getC2i(),'pratique');
	foreach ($liste_competences as $competence)
	{
		if (!droitEvaluationCompetence($groupe['team'],$competence['id']))
		continue;

		// Champ de saisie (ou pas) de la note / de la comp�tence par r�f�rentiel
		if (($competence['sous_ref'] == 0 && $grille->getEvaluationSousRef() == 1) || ($competence['sous_ref'] != 0 && $grille->getEvaluationSousRef() == 0))
		continue;

		$_POST['competence'] = $competence['id'];
		$_POST['note'] = '100';
		
		PRATenregistrerSaisie();
	}

	return true;
}


function validerCompetence()
{
	//On cherche les �l�ments de la grille
	$grille = new PRATGrille();
	$grille->load($_POST['grilleId']);

	$liste_competences = chercheReferentiel($grille->getC2i(),'pratique');
	foreach ($liste_competences as $competence)
	{
		if ($competence['sous_ref'] != $_POST['competenceId'])
		continue;

		if (!droitEvaluationCompetence($groupe['team'],$competence['id']))
		continue;

		$_POST['competence'] = $competence['id'];
		$_POST['note'] = '100';
		
		PRATenregistrerSaisie();
	}

	return true;
}


function afficherEvaluateursCompetence($groupeId,$competenceId)
{
	$droit = new Droits();
	$droit->setGroupeId($groupeId);
	$droit->setCompetenceId($competenceId);

	return $droit->chercheEvaluateurs();
}

function supprimerEvaluateurCompetence()
{
	// On supprime �galement les sous r�f�rentiels
	$sousRef = chercheNombreSousRef($_REQUEST['competenceId'],true);
	if ($sousRef)
	{
		foreach ($sousRef as $comp)
		{
			$droit = new Droits();
			$droit->setCompetenceId($comp['id']);
			$droit->setGroupeId($_REQUEST['groupeId']);
			$droit->setEvaluateurId($_REQUEST['userId']);
			$droit->delete();
			$retour .= $comp['id']."|";
		}
	}

	$droit = new Droits();
	$droit->setCompetenceId($_REQUEST['competenceId']);
	$droit->setGroupeId($_REQUEST['groupeId']);
	$droit->setEvaluateurId($_REQUEST['userId']);
	$retour .= $_REQUEST['competenceId'];
	
	if ($droit->delete())
	return $retour;
}

function ajouterEvaluateurCompetence()
{
	// On ajoute �galement les sous r�f�rentiels
	$sousRef = chercheNombreSousRef($_REQUEST['competenceId'],true);
	if ($sousRef)
	{
		foreach ($sousRef as $comp)
		{
			$droit = new Droits();
			$droit->setCompetenceId($comp['id']);
			$droit->setGroupeId($_REQUEST['groupeId']);
			$droit->setEvaluateurId($_REQUEST['userId']);
			$droit->save();
			$retour .= $comp['id']."|";
		}
	}

	$droit = new Droits();
	$droit->setCompetenceId($_REQUEST['competenceId']);
	$droit->setGroupeId($_REQUEST['groupeId']);
	$droit->setEvaluateurId($_REQUEST['userId']);
	$retour .= $_REQUEST['competenceId'];
	
	if ($droit->save())
	return $retour;
}


function attribuerDroitsGroupe($groupeId,$evaluateur,$creation)
{
	$liste_competences = chercheReferentiel($_SESSION['_course']['categoryCode'],'pratique');
	foreach ($liste_competences as $competence)
	{
		$droit = new Droits();
		$droit->setCompetenceId($competence['id']);
		$droit->setGroupeId($groupeId);
		$droit->setEvaluateurId($evaluateur);
		$droit->setCourseCode(claro_get_current_course_id());

		if ($creation)
		$droit->save();
		else
		$droit->delete();
	}
}

function calculNotePratique($userId,$C2i)
{
	// Pour chaque comp�tence
	$liste_competences = chercheReferentiel($C2i,'pratique');
	foreach ($liste_competences as $competence)
	{
		$enreg = new Enregistrement();
		$enreg->setUserId($userId);
		$enreg->setCompetenceId($competence['id']);

		$enreg->load($enreg->chercheEnregistrement(true));

		// Cherche competence / alin�a
		$infosCompetence = chercheInfoCompetence($enreg->getCompetenceId());
		$infosCompetence = $infosCompetence[0];

		// Cherche la note de la comp�tence sup
		if ($infosCompetence['sous_ref'] != 0)
		{
			$noteMax = chercheInfoCompetence($infosCompetence['sous_ref']);
			$noteMax = $noteMax[0]['note'];

			// Cherche le nbre de sous_comp�tence
			$nbre_sous_competence = chercheNombreSousRef($infosCompetence['sous_ref']);

			$note = ($enreg->getNote()/100)/$nbre_sous_competence;
		}		
		else
		{
			// MAJ de la comp�tence sup avec calcul des sous comp�tences
			$noteMax = $infosCompetence['note'];
			$note = $enreg->getNote()/100;

			if (!$note)
			{
				$sousRefs = chercheNombreSousRef($infosCompetence['id'],true);
				$nbre_sous_competence = count($sousRefs);

				foreach ($sousRefs as $sousRef)
				{
					$enregSousRef = new Enregistrement();
					$enregSousRef->setUserId($userId);
					$enregSousRef->setCompetenceId($sousRef['id']);
					$enregSousRef->load($enregSousRef->chercheEnregistrement(true));

					$note += ($enregSousRef->getNote()/100)/$nbre_sous_competence;
				}
			}
		};

		$note = $note*$noteMax;

		enregistreNotePratique($enreg->getUserId(),$infosCompetence['competence'],$infosCompetence['alinea'],$note);
	}
}

function enregistreNotePratique($userId,$competence,$alinea,$note)
{
	global $C2IPRATtables;

	$sql = "SELECT id FROM `".$C2IPRATtables['C2iResultats']."` 
		WHERE userId = ".$userId." 
		AND competence = '".$competence."'
		AND alinea = '".$alinea."'
		AND epreuve = 'pratique'";
	$update = claro_sql_query_get_single_value($sql);

	if (!isset($update))
	$sql = "INSERT INTO ";
	else
	$sql = "UPDATE ";


	$sql .= "`".$C2IPRATtables['C2iResultats']."`
		SET userId = '".$userId."',
		    competence = '".$competence."',
		    alinea = '".$alinea."',
		    note = '".$note."',
		    epreuve = 'pratique'		
		";

	if (isset($update))
	$sql .= " WHERE id = ".$update;
	
	if(claro_sql_query($sql) ) 
	return true;
	else
	return false;
}

function chercherNbreEtudiantsEvalues($groupeId,$evaluateur)
{
	$tbl_enregPratique = claro_sql_get_tbl('C2IPRATenregistrement');
	$tbl_enregPratique = $tbl_enregPratique['C2IPRATenregistrement'];

	$listeEtudiants = chercheEtudiantsGroupe($groupeId,'1');


	if ($listeEtudiants)	
	{
		$nbreEtudiantsEvalues = 0;
		$nbreCompetence = 0;

		foreach ($listeEtudiants as $etudiant)
		{
			$sql = "SELECT DISTINCT competenceId
				FROM `".$tbl_enregPratique."`
				WHERE evaluateur = ".$evaluateur."
				AND userId = ".$etudiant['user'];
			$nbreCompetenceTmp = claro_sql_query_affected_rows($sql);

			if ($nbreCompetenceTmp)
			{
				$nbreEtudiantsEvalues++;
				$nbreCompetence += $nbreCompetenceTmp;
			}
			$nbreEtudiantsTotal++;
		}
	}

	$output = array($nbreEtudiantsEvalues,$nbreCompetence,$nbreEtudiantsTotal);


	if (!$nbreEtudiantsTotal)
	$output = "Aucun &eacute;tudiant dans ce groupe";

	return $output;
}

// V�rifie si le domaine est valid� ou non (%age)
function domaineOK($domaine,$user,$C2i)
{
	global $noteEliminatoirePratique;

	// Cherche les sous comp�tences du domaine
	$sousRef = chercheNombreSousRef($domaine,true);
	$note = 0;
	foreach ($sousRef as $competence)
	{
		$enreg = new Enregistrement();
		$enreg->setUserId($user);
		$enreg->setCompetenceId($competence['id']);
		$enreg->load($enreg->chercheEnregistrement(true));

		$note += $enreg->getNote()/100;
	}

	if (count($sousRef))
	{
		//print "ne: ".$noteEliminatoirePratique[$C2i];
		if ($note / count($sousRef) > $noteEliminatoirePratique[$C2i])
		return true;
		else
		return false;
	}
}

?>
